Many companies face an increasingly large number of pre- and post-sale contacts with their customers. Call centers have been developed as a centralized, scalable mechanism to handle the volume of calls across a variety of contact contexts, including, for example, sales and marketing contacts, technical support, and billing. However, call centers suffer from a variety of shortcomings.
For example, call center controllers may estimate the customer-call queue length at each call center and route a particular call to the queue that seems to have the shortest wait. If the decision is incorrect, the call might not be subsequently redirected to a different call center. This may lead to customers waiting at one call center even when agents are available at another. Because of this design, service levels may differ between various call centers, which may cause a negative impact on the network-wide service level.
Call centers may also experience call bursts due to delays in real-time information. Real-time information may be a few seconds out of date. When a call center controller makes routing decisions based on out-of-date information, it may route too many calls to a small call center or inaccurately estimate the size of the customer queue. Heuristics meant to address this exist, but these heuristics may break down in some cases and tend to make the overall system more complicated. Moreover, once a call center controller routes a call to a call center, it may have limited or no visibility into how long the transfer took, and whether or not the transfer was successful. Heuristics exist to handle the simpler problems, but a period of slow transfers (due to a nonstandard or faulting carrier routing, for example) may still result in call bursts.
In addition, call centers may rely on underlying platforms that are not controlled by the organization that runs the call center. So, for example, if there are problems in the underlying platform, the call center may not be able to address the problems directly. Rather, call center controllers may be designed to simply tolerate these issues. This may lead to the creation of a number of “watcher” systems that have heuristics designed to detect problems in the underlying platform. However, such watcher systems may create complexity in the code.
Routing calls based on the type of the call may also be difficult for a number of reasons: (1) call routing decisions may be made in several, disparate places (i.e., the decisions may be de-centralized); (2) call routing may be limited to the capabilities of private branch exchange (“PBX”) systems; and (3) real-time information may not be available. All of these issues may make the task of effectively managing smaller routing queues extremely difficult. Inefficiencies in routing may cause call centers to be over-allocated (meaning that the center's agents are receiving or have received more than their allotted share of calls) or under-allocated. Over- and under-allocation of call center resources may cause customer service agents to be either too busy or not busy enough. In turn, this may cause increased attrition among customer service agents. Additionally, over- or under-allocation, and/or other inefficiencies in the match-up between call classifications and agent skills, may provide a variable service level experience for customers.
Improved routing algorithms may improve, but may not expunge inefficiencies in call center operation. In particular, at any given period, the volume of incoming calls may exceed or fall short of the available number of customer service agents. Accordingly, a 1-to-1 correspondence between disparate call and agent volumes may be difficult to achieve. Variability of call volume (including the variability in the types of incoming calls) may be attributable to both systematic and random processes. For example, the call volume during a peak hour of the day may be double the volume of a non-peak hour that same day. A peak day may see much more call volume than an off-day. Moreover, random (or merely unpredictable) variables may influence call volume. If a software vendor releases a product with a bug in it on a given day, the next day's call volume may be orders of magnitude higher than normal due to confused customers calling to ask why their new software doesn't operate properly.
Customer service agent availability may not be well-suited to meeting variations in call volume. Call center staffing may be planned out weeks or months in advance. In addition, a large and unexpected peak in intra-hour volume might go entirely unaddressed. By the time a manager realizes additional agents are necessary, contacted such agents, and enables them, the short-lived peak may have evaporated. Conversely, during periods of low volume, some customer service agents may be idle, using valuable call center resources.
The principles of the foregoing discussion are not limited to telephony-based call centers. Other fields of art may be similarly affected by difficulties in matching demand for services with supply. For example, email-answering centers where, for example, customer email queries are answered by agents, may face similar issues of unpredictable email volumes.